package com.hnou.boxuegu.activity;

import android.content.Intent;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.hnou.boxuegu.R;
import com.hnou.boxuegu.utils.MD5Utils;
import com.hnou.boxuegu.utils.UtilsHelper;

import org.w3c.dom.Text;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

    private TextView tv_main_title;
    private TextView tv_back,tv_register,tv_find_psw; //
    private Button btn_login;
    private RelativeLayout rl_title_bar;

    private EditText et_user_name, et_psw;

    private String userName, psw; // 保存用户输入的数据

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        init();
    }

    private void init() {
        // 界面初始化
        tv_main_title = findViewById(R.id.tv_main_title);
        tv_main_title.setText("登录");
        tv_back = findViewById(R.id.tv_back);
        btn_login = findViewById(R.id.btn_login);
        rl_title_bar = findViewById(R.id.title_bar);
        tv_register = findViewById(R.id.tv_register);
        tv_find_psw = findViewById(R.id.tv_find_psw);

        rl_title_bar.setBackgroundColor(Color.TRANSPARENT);
        et_user_name = findViewById(R.id.et_user_name);

        et_psw = findViewById(R.id.et_psw);

        // 点击事件
        tv_back.setOnClickListener(this);
        btn_login.setOnClickListener(this);
        tv_register.setOnClickListener(this);
        tv_find_psw.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        // 通过view的id来区分，触发点击事件的是哪一个控件
        switch (view.getId()){
            case R.id.btn_login:
                //TODO 登录按钮被点击了
                // 1 . 获取用户输入的登录信息，username, psw
                userName = et_user_name.getText().toString().trim();
                psw = et_psw.getText().toString().trim();
                // 2.  验证登录信息是否正确： 从本地存储sp中，
                //      读取用户名对应的密码信息，作比对
                String spPsw = UtilsHelper.readPsw(LoginActivity.this, userName); // 根据用户名读取保存的加密后的密码
                String md5Psw = MD5Utils.md5(psw); // 将密码加密
                if(spPsw.equals(md5Psw)){
                    //   2.1 比对成功
                    //        保存登录状态信息到本地存储sp中
                    UtilsHelper.saveLoginStatus(LoginActivity.this,true,userName);
                    //        跳转到MainActivity
                    //          返回登录状态信息到MainActivity
                    Intent data = new Intent();
                    data.putExtra("isLogin",true);
                    setResult(RESULT_OK,data);

                    LoginActivity.this.finish();// 关闭当前界面
                }
                else{
                    //   2.2 比对失败
                    //       提示失败，并结束
                    Toast.makeText(LoginActivity.this, "用户名或密码错误，或不存在", Toast.LENGTH_SHORT).show();
                }
                

                break;
            case R.id.tv_back:
                // 回退按钮被点击了
                LoginActivity.this.finish();
                break;
            case R.id.tv_find_psw:
                // 找回密码
                break;
            case R.id.tv_register:
                // 去注册
                Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
                startActivityForResult(intent,101);
                break;
        }
    }
}